home *** CD-ROM | disk | FTP | other *** search
/ USA Bestseller / USA BESTSELLER Vol 1-95 (Hepp-Computer)(1995).iso / e181 / nt_dd.exe / OEMSETUP.INF < prev    next >
INI File  |  1994-02-17  |  13KB  |  384 lines

  1.  
  2. [Identification]
  3.     OptionType = SCSI
  4.  
  5. [LanguagesSupported]
  6.     ENG
  7.  
  8. [Options]
  9.     "OEMSCSI"    = MtmCD
  10.  
  11. [OptionsTextENG]
  12.     "OEMSCSI"    = "MITSUMI CD-ROM Drive"
  13.  
  14. [MiniportDrivers]
  15.     MtmCD  = !SERVICE_KERNEL_DRIVER, "SCSI CDROM Class", !SERVICE_ERROR_NORMAL,  2, %SystemRoot%\System32\IoLogMsg.dll , 7
  16.  
  17. [Identify]
  18.     read-syms Identification
  19.     set Status     = STATUS_SUCCESSFUL
  20.     set Identifier = $(OptionType)
  21.     set Media      = #("Source Media Descriptions", 1, 1)
  22.     Return $(Status) $(Identifier) $(Media)
  23.  
  24. [ReturnOptions]
  25.     set Status        = STATUS_FAILED
  26.     set OptionList     = {}
  27.     set OptionTextList = {}
  28.     ;
  29.     ; Check if the language requested is supported
  30.     ;
  31.     set LanguageList = ^(LanguagesSupported, 1)
  32.     Ifcontains(i) $($0) in $(LanguageList)
  33.         goto returnoptions
  34.     else
  35.         set Status = STATUS_NOLANGUAGE
  36.         goto finish_ReturnOptions
  37.     endif
  38.     ;
  39.     ; form a list of all the options and another of the text representing
  40.     ;
  41. returnoptions = +
  42.     set OptionList     = ^(Options, 0)
  43.     set OptionTextList = ^(OptionsText$($0), 1)
  44.     set Status         = STATUS_SUCCESSFUL
  45. finish_ReturnOptions = +
  46.     Return $(Status) $(OptionList) $(OptionTextList)
  47.  
  48. [InstallOption]
  49.     ;
  50.     ; Set default values for
  51.     ;
  52.     set Status = STATUS_FAILED
  53.     set DrivesToFree = {}
  54.     ;
  55.     ; extract parameters
  56.     ;
  57.     set Option   = $($1)
  58.     set SrcDir   = $($2)
  59.     set AddCopy  = $($3)
  60.     set DoCopy   = $($4)
  61.     set DoConfig = $($5)
  62.     set ExitCode = 0
  63.     ;
  64.     ; Check if the language requested is supported
  65.     ;
  66.     set LanguageList = ^(LanguagesSupported, 1)
  67.     Ifcontains(i) $($0) in $(LanguageList)
  68.     else
  69.         set Status = STATUS_NOLANGUAGE
  70.         goto finish_InstallOption
  71.     endif
  72.     read-syms Strings$($0)
  73.     ;
  74.     ; check to see if Option is supported.
  75.     ;
  76.     set OptionList = ^(Options, 0)
  77.     ifcontains $(Option) in $(OptionList)
  78.     else
  79.         Debug-Output "SCSI.INF: SCSI option is not supported."
  80.         goto finish_InstallOption
  81.     endif
  82.     set OptionList = ""
  83.     ;
  84.     ; Option has been defined already
  85.     ;
  86.     set MiniportDriver   =   #(Options,         $(Option),         1)
  87.     set Type             = $(#(MiniportDrivers, $(MiniportDriver), 1))
  88.     set Group            =   #(MiniportDrivers, $(MiniportDriver), 2)
  89.     set ErrorControl     = $(#(MiniportDrivers, $(MiniportDriver), 3))
  90.     set Tag              =   #(MiniportDrivers, $(MiniportDriver), 4)
  91.     set EventMessageFile =   #(MiniportDrivers, $(MiniportDriver), 5)
  92.     set TypesSupported   =   #(MiniportDrivers, $(MiniportDriver), 6)
  93.     set Start            =   $(!SERVICE_BOOT_START)
  94.  
  95. installtheoption = +
  96.     ;
  97.     ; Code to add files to copy list
  98.     ;
  99.     ifstr(i) $(AddCopy) == "YES"
  100.         set DoActualCopy = NO
  101.         set FileToCheck = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  102.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  103.         ifstr(i) $(STATUS) == NO
  104.             set DoActualCopy = YES
  105.         endif
  106.  
  107.         ifstr(i) $(DoActualCopy) == NO
  108.             shell "subroutn.inf" DriversExist $($0) $(String1)
  109.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  110.                 Debug-Output "SCSI.INF: shelling DriversExist failed"
  111.                 goto finish_InstallOption
  112.             endif
  113.  
  114.             ifstr(i) $($R0) == STATUS_CURRENT
  115.             else-ifstr(i) $($R0) == STATUS_NEW
  116.                 set DoActualCopy = YES
  117.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  118.                 Debug-Output "SCSI.INF: User cancelled SCSI installation"
  119.                 goto finish_InstallOption
  120.             else
  121.                 Debug-Output "SCSI.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  122.                 goto finish_InstallOption
  123.             endif
  124.         endif
  125.  
  126.         ifstr(i) $(DoActualCopy) == YES
  127.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  128.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  129.                 Debug-Output "SCSI.INF: shelling DoAskSourceEx failed"
  130.                 goto finish_InstallOption
  131.             endif
  132.  
  133.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  134.                 set SrcDir = $($R1)
  135.                 ifstr(i) $($R2) != ""
  136.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  137.                 endif
  138.             else
  139.                 Debug-Output "SCSI.INF: User cancelled asking source."
  140.                 goto finish_InstallOption
  141.             endif
  142.  
  143.             install Install-AddCopyOption
  144.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  145.                 Debug-Output "Adding SCSI files to copy list failed"
  146.                 goto finish_InstallOption
  147.             endif
  148.         else
  149.             set DoCopy = NO
  150.         endif
  151.     endif
  152.  
  153.     ifstr(i) $(DoConfig) == "YES"
  154.         ;
  155.         ; first run a privilege check on modifying the setup node
  156.         ;
  157.         shell "registry.inf" CheckSetupModify
  158.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  159.             goto finish_InstallOption
  160.         endif
  161.  
  162.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  163.             goto finish_InstallOption
  164.         endif
  165.  
  166.         ifstr(i) $(DoCopy) == "YES"
  167.             ;
  168.             ; call SETUPB.EXE
  169.             ;
  170.             RunProgram ExitCode "MTMCD_SETUP" "" $(SrcDir)\setupb.exe 1
  171.             ifint $(ExitCode) != 0
  172.                 set Status = STATUS_USERCANCEL
  173.                 goto finish_InstallOption
  174.             endif
  175.             ;
  176.             ; copy MTMCDAEB.SYS
  177.             ;
  178.             read-syms ProgressCopy$($0)
  179.             install Install-DoCopyOption
  180.             ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  181.                 Debug-Output "Copying files failed"
  182.                 goto finish_InstallOption
  183.             else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  184.                 set Status = STATUS_USERCANCEL
  185.                 goto finish_InstallOption
  186.             endif
  187.         else
  188.             ;
  189.             ; enable the registry entry
  190.             ;
  191.             shell "registry.inf" ModifyServicesEntry $(MiniportDriver) $(!SERVICE_BOOT_START)
  192.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  193.                 Debug-Output "SCSI.INF: Failed to shell ModifyServicesEntry"
  194.                 goto finish_InstallOption
  195.             endif
  196.  
  197.             ifstr(i) $($R0) != STATUS_SUCCESSFUL
  198.                 Debug-Output "SCSI.INF: Failed to enable services entry"
  199.                 goto finish_InstallOption
  200.             endif
  201.         endif
  202.     endif
  203.  
  204.     set Status = STATUS_SUCCESSFUL
  205. finish_InstallOption = +
  206.     ForListDo $(DrivesToFree)
  207.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  208.     EndForListDo
  209.  
  210.     Return $(Status)
  211.  
  212. [Install-AddCopyOption]
  213.     ;
  214.     ; Add the files to the copy list
  215.     ;
  216.     AddSectionKeyFileToCopyList   Files-ScsiMiniportDrivers         +
  217.                                   $(MiniportDriver)                 +
  218.                                   $(SrcDir)                      +
  219.                                   $(!STF_WINDOWSSYSPATH)\drivers
  220.     exit
  221.  
  222. [Install-DoCopyOption]
  223.     ;
  224.     ; Copy files in the copy list
  225.     ;
  226.     CopyFilesInCopyList
  227.     exit
  228.  
  229. [DeInstallOption]
  230.     Debug-Output "MTMCD: DeInstallOptions Section..."
  231.     ;
  232.     ; Set default values for
  233.     ;
  234.     set Status   = STATUS_FAILED
  235.     ;
  236.     ; extract parameters
  237.     ;
  238.     set Option   = $($1)
  239.     ;
  240.     ; Check if the language requested is supported
  241.     ;
  242.     set LanguageList = ^(LanguagesSupported, 1)
  243.     Ifcontains(i) $($0) in $(LanguageList)
  244.     else
  245.         set Status = STATUS_NOLANGUAGE
  246.         goto finish_DeInstallOption
  247.     endif
  248.     read-syms Strings$($0)
  249.     ;
  250.     ; check to see if Option is supported.
  251.     ;
  252.     set OptionList = ^(Options, 0)
  253.     ifcontains $(Option) in $(OptionList)
  254.     else
  255.         goto finish_DeInstallOption
  256.     endif
  257.     set OptionList = ""
  258.     ;
  259.     ; fetch details about option
  260.     ;
  261.     set MiniportDriver = #(Options, $(Option), 1)
  262.     set MiniportFile   = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  263.     set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
  264.     ;
  265.     ; check to see if file is installed
  266.     ; if not give success
  267.     ;
  268.     LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
  269.     ifstr(i) $(STATUS) == "NO"
  270.         set Status = STATUS_SUCCESSFUL
  271.         goto finish_DeInstallOption
  272.     endif
  273.  
  274.     shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
  275.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  276.         ; this could happen if there is no start value or there is no
  277.         ; key, in which case the option is not installed
  278.         set Status = STATUS_SUCCESSFUL
  279.         goto finish_DeInstallOption
  280.     endif
  281.  
  282.     ifstr(i) $($R1) == $(!SERVICE_BOOT_START)
  283.         shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "WARNING" $(String3)
  284.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  285.             goto do_removal
  286.         endif
  287.         ifstr(i) $($R1) == "CANCEL"
  288.             goto finish_DeInstallOption
  289.         endif
  290.     endif
  291.  
  292. do_removal =+
  293.     ;
  294.     ; disable the registry entry
  295.     ;
  296.     shell "registry.inf" RemoveServicesEntry $(MiniportDriver)
  297.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  298.         Debug-Output "SCSI.INF: Failed to shell RemoveServicesEntry"
  299.         goto finish_DeInstallOption
  300.     endif
  301.  
  302.     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  303.         Debug-Output "SCSI.INF: Failed to disable services entry"
  304.         goto finish_DeInstallOption
  305.     endif
  306.     ;
  307.     ; we won't remove the file because we can only do so during the next boot.
  308.     ; if the user chooses to reinstall the same driver during this boot
  309.     ; he will still end up deleting the driver on next boot. if the file
  310.     ; should be deleted a warning should be put up saying that the user should
  311.     ; not try to reinstall the driver during this boot
  312.     ;
  313.     ;    AddFileToDeleteList $(FilePath)
  314.  
  315.     set Status = STATUS_SUCCESSFUL
  316. finish_DeInstallOption =+
  317.     return $(Status)
  318.  
  319. [GetInstalledOptions]
  320.     set Status = STATUS_FAILED
  321.     set InstalledOptions = {}
  322.     set InstalledOptionsText = {}
  323.     ;
  324.     ; Check if the language requested is supported
  325.     ;
  326.     set LanguageList = ^(LanguagesSupported, 1)
  327.     Ifcontains(i) $($0) in $(LanguageList)
  328.     else
  329.         set Status = STATUS_NOLANGUAGE
  330.         goto finish_GetInstalledOptions
  331.     endif
  332.  
  333.     set OptionList = ^(Options, 0)
  334.     ForListDo $(OptionList)
  335.         set MiniportDriver = #(Options, $($), 1)
  336.         set MiniportFile   = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  337.         set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(MiniportFile)
  338.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
  339.         ifstr(i) $(STATUS) == "YES"
  340.             shell "registry.inf" GetServicesEntryStart $(MiniportDriver)
  341.             ifint $($ShellCode) == $(!SHELL_CODE_OK)
  342.                 ifstr(i) $($R0) == STATUS_SUCCESSFUL
  343.                     ifstr(i) $($R1) != $(!SERVICE_DISABLED)
  344.  
  345.                         set OptionText = #(OptionsText$($0), $($), 1)
  346.                         set InstalledOptions     = >($(InstalledOptions), $($))
  347.                         set InstalledOptionsText = >($(InstalledOptionsText), $(OptionText))
  348.  
  349.                     endif
  350.                 endif
  351.             endif
  352.         endif
  353.     EndForListDo
  354.     set Status = STATUS_SUCCESSFUL
  355. finish_GetInstalledOptions =+
  356.     Return $(Status) $(InstalledOptions) $(InstalledOptionsText)
  357.  
  358. ;**************************************************************************
  359. ; PROGRESS GUAGE VARIABLES
  360. ;**************************************************************************
  361.  
  362. [ProgressCopyENG]
  363.     ProCaption   = "Windows NT Setup"
  364.     ProCancel    = "Cancel"
  365.     ProCancelMsg = "Windows NT is not correcly installed.  Are you sure you want "+
  366.                    "to cancel copying files?"
  367.     ProCancelCap = "Setup Message"
  368.     ProText1     = "Copying:"
  369.     ProText2     = "To:"
  370.  
  371. [StringsENG]
  372.     String1 = "MITSUMI Adapter"
  373.     String2 = "Please enter the full path to the MITSUMI "+
  374.               "Adapter files.  Then choose Continue."
  375.     String3 = "The MITSUMI Adapter has been marked as a boot device.  Removing "+
  376.               "it may cause the system not to boot."$(!LF)$(!LF)"Are you sure "+
  377.               "you want to remove the Adapter."
  378.  
  379. [Source Media Descriptions]
  380.     1 = "MTMCD_SETUP" , TAGFILE = mtmminip.tag
  381.  
  382. [Files-ScsiMiniportDrivers]
  383. MtmCD = 1 , mtmcdaeb.sys , SIZE=57856
  384.